package hit.dao.serialization;

import hit.dao.DAOBase;
import hit.dao.DAOFactory;
import hit.dao.DataAccessObject;
import hit.dao.SettingsDAO;

/**
 *	A Factory class for creating DAOs of the serialization type of persistence
 */
public class SerializationDAOFactory implements DAOFactory{

	/**
	 * Default constructor
	 */
	public SerializationDAOFactory(){
		
	}
	
	/**
	 *
	 * @return a new SerializationDAO
	 */
	@Override
	public DataAccessObject CreateDataAccessObject() {
		return new SerializationDAO();
	}

	/**
	 *
	 * @return a new SZStorageUnitDAO
	 */
	@Override
	public DAOBase CreateStorageUnitDAO() {
		return new SZStorageUnitDAO();
	}

	/**
	 *
	 * @return a new SZProductGroupDAO
	 */
	@Override
	public DAOBase CreateProductGroupDAO() {
		return new SZProductGroupDAO();
	}

	/**
	 *
	 * @return a new SZProductDAO
	 */
	@Override
	public DAOBase CreateProductDAO() {
		return new SZProductDAO();
	}

	/**
	 *
	 * @return a new SZItemDAO
	 */
	@Override
	public DAOBase CreateItemDAO() {
		return new SZItemDAO();
	}

	/**
	 * @return a new SZSettingsDAO
	 */
	@Override
	public SettingsDAO CreateSettingsDAO(){
		return new SZSettingsDAO();
	}
}
